// 多任务处理
export default class {
  constructor(num) {
    this.num = num
    this.list = []
  }

  // 运行任务
  async run(job) {
    // 插入任务
    this.list.push(job)

    // 如果队列满了
    if(this.list.length >= this.num) {
      await this.over()
    }
  }

  // 完结任务
  async over () {
    // 就开始集体等待
    await Promise.all(this.list)
    // 运行完就清空
    this.list = []
  }
}